﻿<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta charset="utf-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
    <title>ccform正在加载请稍候...</title>

    <link href="../../../DataUser/Style/ccbpm.css" rel="stylesheet" type="text/css" />
    <!--<link href="../../Admin/CSS/FoolFrmBody.css" rel="stylesheet" />-->
    <script type="text/javascript" src="../../Scripts/jquery-1.11.0.min.js"></script>
    <link href="../fonts/font-icons.min.css" rel="Stylesheet" />
    <link href="../../Style/skin/adminfont/iconfont.css" rel="stylesheet" />
    <!-- 位置必须放在 jquery 之后. -->
    <script src="../../Scripts/QueryString.js" type="text/javascript"></script>
    <script src="../../Scripts/config.js" type="text/javascript"></script>
    <script src="../Gener.js" type="text/javascript"></script>
    <script src="../JScript.js" type="text/javascript"></script>

    <script src="../../Admin/CCFlowEnum.js" type="text/javascript"></script>
    <script src="../../CCForm/FrmEnd.js" type="text/javascript"></script>
    <link href="../../Scripts/layui/layui/css/layui.css" rel="stylesheet" />
    <!--<link href="../../Scripts/layui/style/admin.css" rel="stylesheet" />-->
    <script src="../../Scripts/layui/layui/layui.js" type="text/javascript"></script>
    <script src="../../Scripts/layui/LayuiDialog.js" type="text/javascript"></script>
    <script src="EnOnly.js" type="text/javascript"></script>
    <style type="text/css">

        .layui-form-label {
            min-width: 80px;
            width: auto;
            text-align: right
        }

        .layui-form-label {
            float: right !important;
        }

        .input-icon {
            position: absolute;
            left: calc(100% - 40px);
            top: 1px;
            width: 38px;
            line-height: 36px;
            text-align: center;
            color: #d2d2d2;
        }

        .ccdate {
            padding-right: 40px;
        }

        input[type=text], input[type=password], select {
            border-radius: 5px;
            border: thin solid #CCCCCC;
            margin: 1px 1px;
            height: 38px;
        }

        .layui-input-suffix {
            width: 60px;
            padding: 10px 15px 11px 15px;
            line-height: 38px;
            line-height: 20px;
            border-width: 1px;
            border-style: solid;
            border-radius: 0 2px 2px 0px;
            text-align: center;
            background-color: none;
            overflow: hidden;
            white-space: nowrap;
            text-overflow: ellipsis;
            box-sizing: border-box;
            border-color: #eee;
            display: inline;
            border-left-color: none;
            border-left: none;
        }

        .layui-input-prefix {
            width: 60px;
            padding: 10px 15px 11px 15px;
            line-height: 38px;
            line-height: 20px;
            border-width: 1px;
            border-style: solid;
            border-radius: 0 2px 2px 0px;
            text-align: center;
            background-color: none;
            overflow: hidden;
            white-space: nowrap;
            text-overflow: ellipsis;
            box-sizing: border-box;
            border-color: #eee;
            display: inline;
            border-right-color: none;
            border-right: none;
        }
    </style>
    <!--杨玉慧 -->
    <script type="text/javascript">

        var frmData;
        var mapData;
        var mainData;
        var dtM; //方法集合.
        var isReadonly = GetQueryString("isReadonly");
        var pkVal = "";
        var webUser = new WebUser();
        var isSameEnName = true;//EnOnly页面和En的EnName是否相同
        var cfg = null;
        $(function () {
            pkVal = GetPKVal();
            var enName = GetQueryString("EnName");
            //新增时En.htm页面隐藏
            if (window.parent) {
                var url = window.parent.location.href;
                var pEnName = getQueryStringByNameFromUrl(url, "EnName");

                if (pEnName != enName)
                    isSameEnName = false;
            }
            cfg = new Entity("BP.Sys.EnCfg");
            cfg.No = enName + "s";
            cfg.RetrieveFromDBSources();

            if (isSameEnName == true && window.parent && window.parent.vm != undefined && pkVal == null) {
                window.parent.vm.sideBarOpen = false;
                $(".ocside", window.parent.document).remove();
            }


            var httpHandler = new HttpHandler("BP.WF.HttpHandler.WF_CommEntity");
            httpHandler.AddUrlData();
            if (pkVal != null) {
                httpHandler.AddPara("PKVal", pkVal);
            }

            var data = httpHandler.DoMethodReturnString("EntityOnly_Init");
            if (data.indexOf('err@') == 0) {
                $("#CCFormTabs").html(data);
                return;
            }

            //解析json.
            frmData = JSON.parse(data);
            mapData = frmData["Sys_MapData"][0];
            mapData = new Entity("BP.Sys.MapData", mapData); //把他转化成entity.
            mainData = frmData["MainTable"][0];
            dtM = frmData["dtM"];
            document.title = mapData.Name;

            //获取没有解析的外部数据源
            var uiBindKeys = frmData["UIBindKey"];
            if (uiBindKeys != null && uiBindKeys.length != 0) {
                //获取外部数据源 handler/JavaScript
                var operdata;
                for (var i = 0; i < uiBindKeys.length; i++) {
                    var sfTable = new Entity("BP.Sys.SFTable", uiBindKeys[i].No);
                    var srcType = sfTable.SrcType;
                    if (srcType != null && srcType != "") {
                        //Handler 获取外部数据源
                        if (srcType == 5) {
                            var selectStatement = sfTable.SelectStatement;
                            if (plant == 'CCFlow')
                                selectStatement = basePath + "/DataUser/SFTableHandler.ashx" + selectStatement;
                            else
                                selectStatement = basePath + "/DataUser/SFTableHandler/" + selectStatement;
                            operdata = DBAccess.RunDBSrc(selectStatement, 1);
                        }
                        //JavaScript获取外部数据源
                        if (srcType == 6) {
                            operdata = DBAccess.RunDBSrc(sfTable.FK_Val, 2);
                        }
                        frmData[uiBindKeys[i].No] = operdata;
                    }
                }
            }

            InitToolbar(); //初始工具栏.

            //生成傻瓜表单.
            GenerFoolFrm(mapData, frmData);



            //解析富文本
            if ($(".rich").length > 0) {
                var images_upload_url = "";
                var handlerUrl = "";
                if (plant == "CCFlow")
                    handlerUrl = basePath + "/WF/Comm/Handler.ashx";
                else
                    handlerUrl = basePath + "/WF/Comm/Sys/ProcessRequest.do";

                images_upload_url = handlerUrl + '?DoType=HttpHandler&DoMethod=RichUploadFile';
                images_upload_url += '&HttpHandlerName=BP.WF.HttpHandler.WF_Comm_Sys&FrmID=' + GetQueryString("EnName") + "&PKVal=" + GetQueryString("PKVal");
                layui.extend({
                    tinymce: '../../Scripts/layui/ext/tinymce/tinymce'
                }).use('tinymce', function () {
                    var tinymce = layui.tinymce;
                    $(".rich").each(function (i, item) {
                        var id = item.id;
                        var h = item.style.height.replace("px", "");
                        if (h < 400) h = 400;
                        tinymce.render({
                            elem: "#" + id
                            , height: h
                            , images_upload_url: images_upload_url
                            , paste_data_images: true
                            //取消默认提示
                            , plugins: ['advlist', 'saveBtn', 'lists', 'image', 'charmap', 'searchreplace', 'visualblocks',
                                'table', 'wordcount',
                            ],
                        });
                    })

                });

            }
            if ($("ul.layui-tab-title li").length > 1) {
                var li = $("<div style='float:right !important;z-index:999; top:0px' class='cs-btn-group'></div>");
                li.append($("#Btns").children());
                $("ul.layui-tab-title").append(li);
                //$("#Btns").parent().remove();
                $("#Btns").remove();

            } else {
                if (isHiddenBtn == true)
                    $("#Btns").css("display", "none");
            }

        })

        ///设置.
        function Setting() {
            var width = window.innerWidth *4/5;
            var url = GetLocalWFPreHref() + "/WF/Comm/RefFunc/Setting.htm?EnName=" + GetQueryString("EnName") + "&PKVal=" + GetQueryString("PKVal");
            OpenLayuiDialog(url, "设置", width, 90, "auto", true);
        }


        //设置按钮
        var isHiddenBtn = true;
        function InitToolbar() {
            var isTree = GetQueryString("isTree");
            var isReadonly = GetQueryString("isReadonly");
            if (isTree == "1") {
                if (isReadonly != "1") {
                    isHiddenBtn = false;
                    $("#Btn_Save").show();

                }

            } else {
                if (isReadonly != "1") {
                    //权限控制.
                    if (mapData.GetPara("IsInsert") == 1 && pkVal != null) {
                        isHiddenBtn = false;
                        $("#Btn_New").show();
                    }

                    if (mapData.GetPara("IsUpdate") == 1) {
                        isHiddenBtn = false;
                        $("#Btn_Save").show();
                    }
                    if (mapData.GetPara("IsDelete") == 1 && pkVal != null) {
                        if (pkVal != null) {
                            isHiddenBtn = false;
                            $("#Btn_Delete").show();
                        }

                    }
                }

            }

            if (webUser.No == 'admin') {
                isHiddenBtn = false;
                $("#Btn_Setting").show();
            }
            var _html = "";
            var btnLab1 = cfg.EnBtnLab1;
            if (btnLab1 != null && btnLab1 != undefined && btnLab1 != "")
                _html += "<button type='button' class='layui-btn layui-btn-primary layui-border-green layui-btn-sm' id='BtnLab1' onclick='executeFunction(1)'>" + btnLab1 + "</button>";
            var btnLab2 = cfg.EnBtnLab2;
            if (btnLab2 != null && btnLab2 != undefined && btnLab2 != "")
                _html += "<button  type='button' class='layui-btn layui-btn-primary layui-border-green layui-btn-sm' id='BtnLab2' onclick='executeFunction(2)'>" + btnLab2 + "</button>";
            if (_html != "") {
                $("#Btns").append(_html);
            }

        }

        function GenerFoolFrm(mapData, frmData) {

            frmData = frmData;
            var Sys_GroupFields = frmData.Sys_GroupField;
            var mapAtrrs = frmData.Sys_MapAttr;

            var webUser = new WebUser();
            //用户设置
            var mypk = webUser.No + "_Fields_HS_" + GetQueryString("EnName");
            var userRegedit = new Entity("BP.Sys.UserRegedit");
            userRegedit.SetPKVal(mypk);
            var count = userRegedit.RetrieveFromDBSources();
            var tabIndex = GetQueryString("tabIndex");
            tabIndex = tabIndex == null || tabIndex == undefined ? 0 : tabIndex;
            var tableWidth = 800;
            var html = "";
            html += "<ul class='layui-tab-title'>";
            for (var i = 0; i < Sys_GroupFields.length; i++) {
                var gf = Sys_GroupFields[i];
                if (count != 0 && userRegedit.MVals.indexOf("," + gf.OID + ",") != -1 && gf.OID != mapData.GetPara("PK"))//去除基本信息
                    continue;

                var lab = gf.Lab;
                if (lab.indexOf(',') != -1) {
                    lab = lab.substring(0, lab.indexOf(','));
                }
                if (Sys_GroupFields.length == 1) {
                    html += "<li class='layui-this' id='" + gf.OID + "'>" + lab + "</li>";
                } else {
                    if (tabIndex == i) {
                        html += "<li  class='layui-this' id='" + gf.OID + "'>" + lab + "</li>";
                    }
                    else {
                        html += "<li id='" + gf.OID + "'>" + lab + "</li>";
                    }
                }

            }
            html += "</ul>";
            html += "<div class='layui-tab-content'style='width:95%'>";
            for (var i = 0; i < Sys_GroupFields.length; i++) {
                var gf = Sys_GroupFields[i];
                if (count != 0 && userRegedit.MVals.indexOf("," + gf.OID + ",") != -1 && gf.OID != mapData.GetPara("PK"))//去除基本信息
                    continue;

                if (Sys_GroupFields.length == 1) {
                    html += "<div class='layui-tab-item layui-show'>";
                } else {
                    if (tabIndex != null && tabIndex != undefined && tabIndex == i) {
                        html += "<div class='layui-tab-item layui-show'>";
                    }
                    else {
                        html += "<div class='layui-tab-item'>";
                    }
                }
                html += InitMapAttr(frmData.Sys_MapAttr, gf.OID, userRegedit);
                html += "</div>";
            }
            html += "</div>";

            //加入隐藏控件.
            for (var i = 0; i < mapAtrrs.length; i++) {
                var attr = mapAtrrs[i];
                if (attr.UIVisible == 0) {
                    var defval = ConvertDefVal(attr);
                    html += "<input type='hidden' id='TB_" + attr.KeyOfEn + "' name='TB_" + attr.KeyOfEn + "' value='" + defval + "' />";
                }
            }

            $('#CCFormTabs').html("").append(html);
            layui.form.render();

            $(".layui-form-label").css("width", "");
            if (Sys_GroupFields.length == 1)
                $(".layui-tab-title").css("display", "none");

            //原有的。
            //为 DISABLED 的 TEXTAREA 加TITLE
            var disabledTextAreas = $('#divCCForm textarea:disabled');
            $.each(disabledTextAreas, function (i, obj) {
                $(obj).attr('title', $(obj).val());
            })

            //根据NAME 设置ID的值
            var inputs = $('[name]');
            $.each(inputs, function (i, obj) {
                if ($(obj).attr("id") == undefined || $(obj).attr("id") == '') {
                    $(obj).attr("id", $(obj).attr("name"));
                }
            })

            //设置默认值
            for (var j = 0; j < frmData.Sys_MapAttr.length; j++) {

                var mapAttr = frmData.Sys_MapAttr[j];
                if (mapAttr.UIIsEnable == "0" || isReadonly == "1") {
                    $('#TB_' + mapAttr.KeyOfEn).attr('disabled', true);
                    $('#DDL_' + mapAttr.KeyOfEn).attr('disabled', true);
                    $('#CB_' + mapAttr.KeyOfEn).attr('disabled', true);
                }
                //添加 label
                //如果是整行的需要添加  style='clear:both'.
                var defValue = ConvertDefVal(mapAttr);

                if ($('#TB_' + mapAttr.KeyOfEn).length == 1) {
                    if (defValue == null || defValue == "null")
                        continue;
                    $('#TB_' + mapAttr.KeyOfEn).val(defValue);


                    if (mapAttr.KeyOfEn.toLowerCase() == "icon") {
                        $("#menuIconIcon").attr("class", defValue);
                    }
                }

                if ($('#DDL_' + mapAttr.KeyOfEn).length == 1) {


                    var uiBindKey = mapAttr.UIBindKey;

                    if (uiBindKey.toLowerCase().indexOf("select") == -1 && uiBindKey.indexOf("Dept") != -1 && uiBindKey.indexOf(".") != -1) {

                        var pushData;
                        if (mapAttr.UIIsEnable == "1") {
                            var webUser = new WebUser();
                            var ens = new Entities(uiBindKey);
                            ens.RetrieveAll();
                            if (webUser.No == "admin")
                                pushData = findChildren(ens, "0");
                            else
                                pushData = findChildren(ens, webUser.FK_Dept);
                        } else {
                            pushData = [];
                            var selectText = frmData.MainTable[0][mapAttr.KeyOfEn + "Text"];
                            if (defValue == null)
                                defValue = "";
                            if (selectText == null || selectText == "") {
                                selectText = defValue;
                            }

                            pushData.push({ "id": defValue, "text": selectText, "children": [] });
                            if ($("option[value='" + defValue + "']", '#DDL_' + mapAttr.KeyOfEn).length == 0 && defValue != "")
                                $('#DDL_' + mapAttr.KeyOfEn).append("<option value='" + defValue + "'>" + selectText + "</option>");

                        }
                        //$('#DDL_' + mapAttr.KeyOfEn).combotree('loadData', pushData);
                        //if (mapAttr.UIIsEnable == 0)
                        //    $('#DDL_' + mapAttr.KeyOfEn).combotree({ disabled: true });

                        //$('#DDL_' + mapAttr.KeyOfEn).combotree('setValue', defValue);
                        //var target = $('#DDL_' + mapAttr.KeyOfEn).combotree('tree').tree('find', defValue)
                        //if (target != null) {
                        //    target = target.target;
                        //    $('#DDL_' + mapAttr.KeyOfEn).combotree('tree').tree('expandTo', target);
                        //}

                    } else {
                        // 判断下拉框是否有对应option, 若没有则追加
                        if ($("option[value='" + defValue + "']", '#DDL_' + mapAttr.KeyOfEn).length == 0) {

                            var mainTable = frmData.MainTable[0];
                            var selectText = mainTable[mapAttr.KeyOfEn + "Text"];

                            if (selectText == null || selectText == "")
                                selectText = defValue;

                            if (defValue == null || defValue == "") {

                            } else {
                                $('#DDL_' + mapAttr.KeyOfEn).append("<option value='" + defValue + "'>" + selectText + "</option>");
                            }
                        } else {
                            //设置选择的值
                            $('#DDL_' + mapAttr.KeyOfEn).val(defValue);

                        }
                    }
                    if (mapAttr.LGType == "0" && mapAttr.MyDataType == "1" && mapAttr.UIContralType == "1") {
                        if ($("#TB_" + mapAttr.KeyOfEn + "Text").length == 1) {
                            if (defValue == "")
                                $("#TB_" + mapAttr.KeyOfEn + "Text").val($('#DDL_' + mapAttr.KeyOfEn + " option:first").text());
                            else
                                $("#TB_" + mapAttr.KeyOfEn + "Text").val($('#DDL_' + mapAttr.KeyOfEn).find("option:selected").text());
                        }
                    }
                    $('#DDL_' + mapAttr.KeyOfEn).val(defValue);
                }

                if ($('#CB_' + mapAttr.KeyOfEn).length == 1) {
                    if (defValue == "1")
                        $('#CB_' + mapAttr.KeyOfEn).attr("checked", true);
                    else
                        $('#CB_' + mapAttr.KeyOfEn).attr("checked", false);
                }
            }

            if (pkVal != null && pkVal != 0) {
                //获取当前主键字段是否可以编辑?
                $("#TB_No").attr("disabled", true);
                $("#TB_MyPK").attr("disabled", 'disabled');
                $("#TB_NodeID").attr("disabled", 'disabled');
                $("#TB_WorkID").attr("disabled", 'disabled');
                $("#TB_OID").attr("disabled", 'disabled');
            }

            //获取
            var refKey = GetQueryString("RefKey");
            var refValue = GetQueryString("RefVal");
            if (refKey && refValue) {
                $("#TB_" + refKey).val(refValue);
                $("#DDL_" + refKey).val(refValue);
            }
            //如果传的参数里面有改字段，则需要给相应的字段赋值
            var queryString = document.location.search.substr(1);
            if (queryString.length > 0) {
                var realVal = "";
                $.each(queryString.split("&"), function (i, o) {
                    var param = o.split("=");
                    if (param.length == 2 && param[0] != "RefKey" && param[0] != "RefVal") {
                        realVal = decodeURI(param[1]);
                        if ($('#TB_' + param[0]).length == 1) {
                            if ($('#TB_' + param[0]).attr("disabled") == "disabled" && $('#TB_' + param[0]).val() != null && $('#TB_' + param[0]).val() != "")
                                return true;
                            $('#TB_' + param[0]).val(realVal);
                            return true;
                        }
                        if ($('#DDL_' + param[0]).length == 1) {
                            if ($('#DDL_' + param[0]).attr("disabled") == "disabled" && $('#DDL_' + param[0]).val() != null && $('#DDL_' + param[0]).val() != "")
                                return true;
                            $('#DDL_' + param[0]).val(realVal);
                            if (realVal != "" && $("option[value='" + realVal + "']", '#DDL_' + mapAttr.KeyOfEn).length == 0) {
                                var mainTable = frmData.MainTable[0];
                                var selectText = mainTable[mapAttr.KeyOfEn + "Text"];
                                if (selectText == null || selectText == undefined || selectText == "")
                                    selectText = mainTable[mapAttr.KeyOfEn + "T"];

                                if (selectText == null || selectText == undefined || selectText == "")
                                    selectText = realVal;
                                $('#DDL_' + param[0]).append("<option value='" + realVal + "'>" + selectText + "</option>");
                            }
                        }

                        //if ($('#DDL_' + param[0]).hasClass("easyui-combotree") == true) {
                        //    if ($("option[value='" + realVal + "']", '#DDL_' + param[0]).length == 0) {
                        //        var pushData = [];
                        //        pushData.push({ "id": realVal, "text": realVal, "children": [] });
                        //        $('#DDL_' + param[0]).combotree('loadData', pushData);
                        //    }
                        //    $('#DDL_' + param[0]).combotree('setValue', realVal);

                        //}

                        if (realVal == "1") {
                            var obj = document.getElementById("CB_" + param[0])
                            if (obj != null)
                                obj.checked = true;
                        }

                    }
                });
            }
            var html = "-";
            var fileName = $("#TB_MyFileName").val();
            if (fileName != null && fileName != "" && fileName != undefined && fileName != "null") {
                html = "<a href='#' onclick='downLoadFile()' target='_self'>" + $("#TB_MyFileName").val() + "." + $("#TB_MyFileExt").val() + "</a>";
            }
            $("#FileInfo").html(html);
            layui.form.render();
            //设置扩展
            AfterBindEn_DealMapExt(frmData);
            $.each($(".ccdate"), function (i, item) {
                var format = $(item).attr("data-info");
                var type = $(item).attr("data-type");
                if (format.indexOf("HH") != -1) {
                    layui.laydate.render({
                        elem: '#' + item.id,
                        format: $(item).attr("data-info"), //可任意组合
                        type: type,
                        trigger: 'click',
                        ready: function (date) {
                            var now = new Date();
                            var mm = "";
                            if (now.getMinutes() < 10)
                                mm = "0" + now.getMinutes();
                            else
                                mm = now.getMinutes();

                            var ss = "";
                            if (now.getSeconds() < 10)
                                ss = "0" + now.getSeconds();
                            else
                                ss = now.getSeconds();

                            this.dateTime.hours = now.getHours();
                            this.dateTime.minutes = mm;
                            this.dateTime.seconds = ss;
                        },
                        change: function (value, date, endDate) {
                            $('.laydate-btns-confirm').click();
                        },
                        done: function (value, date, endDate) {
                            var data = $(this.elem).data();
                            $(this.elem).val(value);
                            if (data && data.ReqDay != null && data.ReqDay != undefined)
                                ReqDays(data.ReqDay);
                        }
                    });
                } else {
                    layui.laydate.render({
                        elem: '#' + item.id,
                        format: $(item).attr("data-info"), //可任意组合
                        type: type,
                        done: function (value, date, endDate) {
                            var data = $(this.elem).data();
                            $(this.elem).val(value);
                            if (data && data.ReqDay != null && data.ReqDay != undefined)
                                ReqDays(data.ReqDay);
                        }
                    });
                }

            })

        }

        function downLoadFile() {
            if (plant == "CCFlow")
                SetHref('../../CCForm/DownFile.aspx?DoType=EntityFile_Load&DelPKVal=' + pkVal + '&EnsName=' + GetQueryString("EnName") + "s");
            else {
                var currentPath = GetHrefUrl();
                var path = currentPath.substring(0, currentPath.indexOf('/WF') + 1);
                Url = path + '/WF/Ath/EntityFileLoad.do?DelPKVal=' + pkVal + '&EnsName=' + GetQueryString("EnName") + "s";
                SetHref(url);
            }
        }

        //解析表单字段 MapAttr.
        function InitMapAttr(Sys_MapAttr, groupID, userRegedit) {

            var html = "<div class='layui-row FoolFrmGroupBar' id='Group_" + groupID + "'>";
            var isDropTR = true;
            var isExitMyNum = false;
            var fileDesc = "";
            for (var i = 0; i < Sys_MapAttr.length; i++) {
                var attr = Sys_MapAttr[i];
                if (userRegedit != null && userRegedit != undefined && userRegedit.Vals.indexOf("," + attr.KeyOfEn) != -1)
                    continue;
                if (attr.KeyOfEn == "MyFileNum") {
                    isExitMyNum = true;
                    continue;
                }
                if (attr.KeyOfEn == "MyFileName") {
                    fileDesc = attr.Name;
                    continue;
                }

                if (attr.GroupID != groupID || attr.UIVisible == 0)
                    continue;

                var enable = attr.UIIsEnable == "1" ? "" : " ui-state-disabled";
                var rm = null; //当前的方法.
                for (var iRm = 0; iRm < dtM.length; iRm++) {
                    if (dtM[iRm].RefAttrKey == attr.KeyOfEn) {
                        rm = dtM[iRm];
                    }
                }

                //输出帮助连接.
                var name = null;
                var helpUrl = GetPara(attr.AtPara, "HelpUrl");
                if (helpUrl == null || helpUrl == "" || helpUrl == "null") {
                    name = attr.Name;
                }
                else {

                    if (attr.MyDataType == 4) {

                        if (helpUrl.indexOf('javascr') == 0)
                            name = "<a href=\"" + helpUrl + "\" ><img src='../../Img/Help.png' style='text-align:right'  /><i class='iconfont icon-iconfonticon4'></i></a>";
                        else
                            name = "<a href=\"" + helpUrl + "\" target=_blank ><img src='../../Img/Help.png' style='text-align:right' /><i class='iconfont icon-iconfonticon4'></i></a>";

                    } else {

                        if (helpUrl.indexOf('javascr') == 0)
                            name = "<a href=\"" + helpUrl + "\" >" + attr.Name + "<i class='iconfont icon-iconfonticon4'></i></a>";
                        else
                            name = "<a href=\"" + helpUrl + "\" target=_blank >" + attr.Name + "<i class='iconfont icon-iconfonticon4'></i></a>";
                    }
                }

                var lab = "";
                if (attr.UIContralType == 0)
                    lab = "<label for='TB_" + attr.KeyOfEn + "' class='layui-form-label " + (attr.UIIsInput == 1 ? "mustInput" : "") + "'>" + name + "</label>";

                if (attr.MyDataType == 4)
                    lab = "<label for='CB_" + attr.KeyOfEn + "' class='layui-form-label " + (attr.UIIsInput == 1 ? "mustInput" : "") + "'>" + name + "</label>";

                if (attr.UIContralType == 1)
                    lab = "<label for='DDL_" + attr.KeyOfEn + "' class='layui-form-label " + (attr.UIIsInput == 1 ? "mustInput" : "") + "'>" + name + "</label>";

                if (attr.UIIsInput == 1 && attr.UIIsEnable == 1) {
                    lab += " <span style='color:red' class='mustInput' data-keyofen='" + attr.KeyOfEn + "'>*</span>";
                }

                //大文本
                if (attr.UIHeight >= 10) {

                    if (attr.TextModel == 3|| attr.ColSpan == 4) {
                        if (isDropTR == false) {
                            html += "</div>";
                        }
                        isDropTR = true;
                        html += "<div class='layui-row FoolFrmFieldRow'style=''>";
                        html += "<div class='layui-col-md12 layui-col-xs12 FoolFrmFieldLabel'style='width: 16.66666667%;'>" + lab + "</div>";
                        html += "</div>";
                        html += "<div class='layui-row FoolFrmFieldRow'>";
                        html += "<div class='layui-col-md12 layui-col-xs12 FoolFrmFieldInput' style='padding-left:calc(16.6% - 10px)'>";
                        html += InitMapAttrOfCtrl(attr);
                        html += "</div>";
                        html += "</div>";
                        continue;
                    }

                }
                //线性展示并且colspan=3
                if ((attr.ColSpan == 3 || attr.ColSpan == 4) && attr.UIHeight <= 40) {
                    if (isDropTR == false) {
                        html += "</div>";
                    }
                    isDropTR = true;
                    html += "<div class='layui-row FoolFrmFieldRow'>";
                    if (attr.UIContralType == 2) {
                        html += "<div class='layui-col-md2 layui-col-xs2 FoolFrmFieldLabel'><label class='layui-form-label'></label></div>";
                        html += "<div class='layui-col-md10 layui-col-xs10 FoolFrmFieldInput'>";
                        html += InitMapAttrOfCtrl(attr);
                        html += "</div>";
                    } else {
                        html += "<div class='layui-col-md2 layui-col-xs2 FoolFrmFieldLabel'>" + lab + "</div>";
                        html += "<div class='layui-col-md10 layui-col-xs10 FoolFrmFieldInput'>";
                        html += InitMapAttrOfCtrl(attr);
                        html += "</div>";
                    }


                    html += "</div>";

                    if (rm != null) {
                        html += "<div class='layui-row FoolFrmFieldRow'>";
                        html += "<div class='layui-col-md2 layui-col-xs2 FoolFrmFieldLabel'><label class='layui-form-label'></label></div>";
                        html += "<div class='layui-col-md10 layui-col-xs10 FoolFrmFieldInput'>";
                        html += GenerRM(rm);
                        html += "</div>";
                        html += "</div>";
                        isDropTR = true;
                    }
                    continue;
                }

                //线性展示并且colspan=4
                if ((attr.ColSpan == 4 || attr.ColSpan == 3) && attr.UIHeight > 40) {
                    if (isDropTR == false) {
                        html += "</div>";
                    }
                    isDropTR = true;
                    html += "<div class='layui-row FoolFrmFieldRow' style='width: 16.66666667%;'>";
                    html += "<div class='layui-col-md12 layui-col-xs12 FoolFrmFieldLabel'>" + lab + "</div>";
                    html += "</div>";
                    html += "<div class='layui-row FoolFrmFieldRow'>";
                    html += "<div class='layui-col-md12 layui-col-xs12 FoolFrmFieldInput' style='padding-left:calc(16.6% - 10px)'>";
                    html += InitMapAttrOfCtrl(attr);
                    html += "</div>";
                    html += "</div>";

                    if (rm != null) {
                        html += "<div class='layui-row FoolFrmFieldRow'>";
                        html += "<div class='layui-col-md2 layui-col-xs2 FoolFrmFieldLabel'><label class='layui-form-label'></label></div>";
                        html += "<div class='layui-col-md10 layui-col-xs10 FoolFrmFieldInput'>";
                        html += GenerRM(rm);
                        html += "</div>";
                        html += "</div>";
                        isDropTR = true;
                    }
                    continue;
                }


                if (isDropTR == true) {
                    html += "<div class='layui-row FoolFrmFieldRow'>";

                    if (attr.UIContralType == 2) {
                        html += "<div class='layui-col-md2 layui-col-xs2 FoolFrmFieldLabel'><label class='layui-form-label'></label></div>";
                        html += "<div class='layui-col-md4 layui-col-xs4 FoolFrmFieldInput'>";
                        html += InitMapAttrOfCtrl(attr);
                        html += "</div>";
                    } else {
                        html += "<div class='layui-col-md2 layui-col-xs2 FoolFrmFieldLabel'>" + lab + "</div>";
                        html += "<div class='layui-col-md4 layui-col-xs4 FoolFrmFieldInput'>";
                        html += InitMapAttrOfCtrl(attr);
                        html += "</div>";
                    }

                    isDropTR = !isDropTR;

                    if (rm != null) {
                        html += "<div class='layui-col-md6 layui-col-xs6 FoolFrmFieldLabel'>";
                        html += GenerRM(rm);
                        html += "</div>";
                        html += "</div>";
                        isDropTR = true;
                    }
                    continue;
                }

                if (isDropTR == false) {

                   
                    if (attr.UIContralType == 2) {
                        html += "<div class='layui-col-md2 layui-col-xs2 FoolFrmFieldLabel'><label class='layui-form-label'></label></div>";
                        html += "<div class='layui-col-md4 layui-col-xs4 FoolFrmFieldInput'>";
                        html += InitMapAttrOfCtrl(attr);
                        html += "</div>";
                    } else {
                        html += "<div class='layui-col-md2 layui-col-xs2 FoolFrmFieldLabel'>" + lab + "</div>";
                        html += "<div class='layui-col-md4 layui-col-xs4 FoolFrmFieldInput'>";
                        html += InitMapAttrOfCtrl(attr);
                        html += "</div>";
                    }
                    //html += "</tr>";

                    //isDropTR = !isDropTR;

                    if (rm != null) {
                        html += "<div class='layui-col-md6 layui-col-xs6 FoolFrmFieldLabel'>";
                        html += GenerRM(rm);
                        html += "</div>";
                        html += "</div>";
                        //html += "<div class='layui-row FoolFrmFieldRow'>";

                        isDropTR = true;;
                    } else {
                        html += "</div>";
                        isDropTR = !isDropTR;
                    }
                    continue;
                }
            }
            if (isDropTR == false)
                html += "</div>";
            //如果MapData中具有文件上传的权限，解析设置   0 无 1 单附件上传 2 多附件上传
            var entityAthType = mapData.GetPara("BPEntityAthType");

            //单附件上传
            if (entityAthType == 1) {
                html += "<div class='layui-row FoolFrmFieldRow'>";
                if (fileDesc == "")
                    html += "<div class='layui-col-md2 layui-col-xs2 FoolFrmFieldLabel'>附件上传</div>";
                else
                    html += "<div class='layui-col-md2 layui-col-xs2 FoolFrmFieldLabel'>" + fileDesc + "</div>";
                html += "<div class='layui-col-md10 layui-col-xs10 FoolFrmFieldInput'>";
                html += "<input type='file' id='File_Upload' name='File_Upload' style='background-color:white;' onchange='changeFile(1)' />";
                html += "已上传的文件：<span id='FileInfo'></span>";
                html += "</div>";
                html += "</div>";
            }
            //多附件上传
            if (entityAthType == 2) {
                //多附件的信息
                var AttrFiles = frmData.AttrFiles;
                var FileManagers = frmData.Sys_FileManager;
                html += ShowMultiFile(AttrFiles, FileManagers, isExitMyNum);
                if (isExitMyNum == true)
                    html += "<div style='display:none'><input type='file' id='File_Upload' name='File_Upload' style='background-color:white;dispaly:none' onchange='MultiUploadFile()' /></div>";

            }


            html += "</div>";
            return html;
        }



        function GenerRM(rm) {

            var icon = rm.Icon;
            if (rm.Icon == "" || rm.Icon == null) {
                icon = "../../Img/dot.png";
            } else if (rm.Icon.indexOf('http') != 0) {
                icon = "../" + rm.Icon;
            }



            var img = "";
            if (icon.toLowerCase().indexOf(".png") != -1 || icon.toLowerCase().indexOf(".jpg") != -1) {
                img = "<img src='" + icon + "' border=0 style='width:16px;height:16px;' />";
            }
            else
                img = "<i class='" + icon + "'></i>";
            var html = "";
            var W = document.body.clientWidth - 80;
            var H = document.body.clientHeight - 140;
            if (W > rm.W)
                W = rm.W;

            if (parseInt(rm.RefMethodType) == RefMethodType.LinkeWinOpen) {
                html = "<a href='javascript:void(0)' onclick='WinOpenFull(\"" + rm.Url + "\",\"" + rm.Title + "\")'>" + img + rm.Title + "</a>";
            }

            if (parseInt(rm.RefMethodType) == RefMethodType.Func) {
                html = "<a href='javascript:void(0)' onclick='OPenFun(\"" + rm.Url + "\",\"" + rm.Warning + "\",\"" + rm.Title + "\")'>" + img + rm.Title + "</a>";
            }

            if (parseInt(rm.RefMethodType) == RefMethodType.LinkModel) {
                html = "<a href='javascript:void(0)' onclick='OpenLayuiDialog(\"" + rm.Url + "\",\"" + rm.Title + "\",\"" + W + "\",80,\"auto\",true)'>" + img + rm.Title + "</a>";
            }


            if (parseInt(rm.RefMethodType) == RefMethodType.RightFrameOpen) {
                // alert('没有实现@代国强, 需要根据窗口大小，弹出模态窗口..');
                //var html = "<img src='" + icon + "' border=0 style='width:16px;height:16px;' /><a href='javascript:OpenIt(\"" + rm.Url + "\",\"" + rm.Title + "\",\"" + rm.W + "\",\"" + rm.H + "\")'>" + rm.Title + "</a>";
                html = "<a href='javascript:OpenUrlInRightFrame(this,\"" + rm.Url + "\")'>" + img + rm.Title + "</a>";

            }
            return html;
        }
        function OPenFun(url, warning, title) {
            warning = warning.replace(/,\s+/g, ",");
            warning = warning.replace(/\s+/g, "\r\n");
            layer.confirm(warning, function (index) {
                layer.close(index);
                OpenLayuiDialog(url, title, 400, 80, "auto", false);
            });

        }
        //在右侧框架中显示指定url的页面
        function OpenUrlInRightFrame(ele, url) {
            if (ele != null && ele != undefined) {

                currShow = $(ele).parents('li').text(); //有回车符

                $.each($(ele).parents('ul').children('li'), function (i, e) {
                    $(e).children('div').css('font-weight', $(e).text() == currShow ? 'bold' : 'normal');
                });

                if (url.indexOf('?') == -1)
                    url += '?1=1';

                $('#rightFrame').empty();
                $('#rightFrame').append('<iframe scrolling="auto" frameborder="0"  src="' + url + '&s=' + Math.random() + '" style="width:100%;height:100%;"></iframe>');
            }
        }
        function InitMapAttrOfCtrl(mapAttr) {
            var ccsCtrl = mapAttr.CSSCtrl;
            ccsCtrl = ccsCtrl == null || ccsCtrl == undefined || ccsCtrl == "0" ? "" : ccsCtrl;
            //下拉框 外键和外部数据源
            if ((mapAttr.LGType == "0" && (mapAttr.MyDataType == "1" || mapAttr.MyDataType == "2") && mapAttr.UIContralType == 1)
                || (mapAttr.LGType == "2" && mapAttr.MyDataType == "1")) {
                var css = "";
                if (mapAttr.LGType == "0")
                    css = "class='ddl-ext'";
                return "<div id='DIV_" + mapAttr.KeyOfEn + "' class='ccbpm-input-group'><select id = 'DDL_" + mapAttr.KeyOfEn + "' name = 'DDL_" + mapAttr.KeyOfEn + "' " + css + " lay-filter='" + mapAttr.KeyOfEn + "'  > " + InitDDLOperation(frmData, mapAttr, "") + "</select></div>";

            }
            //枚举 单选枚举和下拉框枚举
            if (mapAttr.LGType == 1) {
                var ses = frmData[mapAttr.KeyOfEn];
                if (ses == undefined)
                    ses = frmData[mapAttr.UIBindKey];
                if (ses == undefined) {
                    //枚举类型的.
                    if (mapAttr.LGType == 1) {
                        ses = frmData.Sys_Enum;
                        ses = $.grep(ses, function (value) {
                            return value.EnumKey == mapAttr.UIBindKey;
                        });
                    }

                }
                if (mapAttr.UIContralType == 1) {//下拉框显示
                    var operations = "";
                    $.each(ses, function (i, obj) {
                        operations += "<option  value='" + obj.IntKey + "'>" + obj.Lab + "</option>";
                    });
                    return "<div id='DIV_" + mapAttr.KeyOfEn + "'><select " + ccsCtrl + " name='DDL_" + mapAttr.KeyOfEn + "'  id='DDL_" + mapAttr.KeyOfEn + "' " + (mapAttr.UIIsEnable == 1 ? '' : 'disabled="disabled"') + "  lay-filter='" + mapAttr.KeyOfEn + "' >" + operations + "</select></div>";
                }
                if (mapAttr.UIContralType == 2) {//复选框
                    var rbHtmls = "";
                    //显示方式,默认为 0=横向展示 3=横向..
                    var RBShowModel = 0;
                    if (mapAttr.AtPara.indexOf('@RBShowModel=3') >= 0)
                        RBShowModel = 3;
                    for (var i = 0; i < ses.length; i++) {
                        var se = ses[i];
                        var br = "";
                        if (RBShowModel == 0)
                            br = "<br>";
                        var checked = "";
                        //if (se.IntKey == mapAttr.DefVal)
                        //    checked = " checked=true ";
                        rbHtmls += "<input " + ccsCtrl + " type=checkbox name='CB_" + mapAttr.KeyOfEn + "' id='CB_" + mapAttr.KeyOfEn + "_" + se.IntKey + "' value='" + se.IntKey + "' " + checked + " lay-filter='" + mapAttr.KeyOfEn + "'  class='mcheckbox'  value='" + se.IntKey + "' title='" + se.Lab + "'/>";
                    }
                    return "<div id='DIV_" + mapAttr.KeyOfEn + "'>" + rbHtmls + "</div>";
                }

                if (mapAttr.UIContralType == 3) {//单选按钮显示
                    var rbHtmls = "";
                    //显示方式,默认为 0=横向展示 3=横向..
                    var RBShowModel = 0;
                    if (mapAttr.AtPara.indexOf('@RBShowModel=3') >= 0)
                        RBShowModel = 3;
                    for (var i = 0; i < ses.length; i++) {
                        var se = ses[i];
                        var br = "";
                        if (RBShowModel == 0)
                            br = "<br>";
                        var checked = "";
                        if (se.IntKey == mapAttr.DefVal)
                            checked = " checked=true ";
                        rbHtmls += "<input " + ccsCtrl + " type=radio name='RB_" + mapAttr.KeyOfEn + "' id='RB_" + mapAttr.KeyOfEn + "_" + se.IntKey + "' value='" + se.IntKey + "' " + checked + " lay-filter='" + mapAttr.KeyOfEn + "'   title='" + se.Lab + "'/>" + br;
                    }
                    return "<div id='DIV_" + mapAttr.KeyOfEn + "'>" + rbHtmls + "</div>";
                }
            }
            if (mapAttr.LGType == 0) {
                switch (parseInt(mapAttr.MyDataType)) {
                    case 1://普通文本
                        //富文本编辑器
                        if (mapAttr.TextModel == 3) {
                            if (mapAttr.UIIsEnable == "0" || isReadonly == true) {
                                //使用div展示
                                var defValue = ConvertDefVal(mapAttr);
                                defValue = defValue.replace(/white-space: nowrap;/g, "");
                                return "<div style='margin-bottom:5px;border: 1px solid #cacaca!important;min-height: 50px;padding: 5px;background-color: #f2f2f2;'>" + defValue + "</div>";
                            }
                            return "<textarea maxlength=" + mapAttr.MaxLen + "  style='height:" + mapAttr.UIHeight + "px;width:100%;' id='TB_" + mapAttr.KeyOfEn + "' name='TB_" + mapAttr.KeyOfEn + "'  class='rich'/>";
                        }
                        //判断是不是大块文本
                        if (mapAttr.IsSupperText == 1 || mapAttr.UIHeight > 40) {
                            return "<textarea class='layui-textarea'  id='TB_" + mapAttr.KeyOfEn + "' name='TB_" + mapAttr.KeyOfEn + "' type='text'  " + (mapAttr.UIIsEnable == 1 ? '' : ' disabled="disabled"') + "></textarea>"
                        }
                        var baseUrl = "../";
                        var currentURL = "";
                        if (currentURL.indexOf("AdminFrm.htm") != -1)
                            baseUrl = "../../../";
                        if (currentURL.indexOf("CCBill") != -1 || currentURL.indexOf("CCForm") != -1)
                            baseUrl = "../../";

                        if (mapAttr.IsSigan == "1" && mapAttr.UIIsEnable == 1 && isReadonly != 0) {
                            var html = "<input maxlength=" + mapAttr.MaxLen + "  id='TB_" + mapAttr.KeyOfEn + "' name='TB_" + mapAttr.KeyOfEn + "'  value='" + defValue + "' type=hidden />";
                            //是否签过
                            var sealData = new Entities("BP.Tools.WFSealDatas");
                            sealData.Retrieve("OID", pageData.OID, "FK_Node", GetQueryString("FK_Node"), "SealData", GetQueryString("UserNo"));

                            if (sealData.length > 0) {
                                eleHtml += "<img src='" + baseUrl + "DataUser/Siganture/" + defValue + ".jpg' alt='" + defValue + "'  style='border:0px;width:100px;height:30px;' id='Img" + mapAttr.KeyOfEn + "' />" + html;
                                isSigantureChecked = true;
                            }
                            else {
                                eleHtml += "<img src='" + baseUrl + "DataUser/Siganture/siganture.jpg'   ondblclick='figure_Template_Siganture(\"" + mapAttr.KeyOfEn + "\",\"" + defValue + "\")' style='border:0px;width:100px;height:30px;' id='Img" + mapAttr.KeyOfEn + "' />" + html;
                            }
                            return eleHtml;
                        }
                        //如果不可编辑，并且是图片名称
                        if (mapAttr.IsSigan == "1") {
                            var val = ConvertDefVal(frmData, mapAttr.DefVal, mapAttr.KeyOfEn);
                            var html = "<input maxlength=" + mapAttr.MaxLen + "  id='TB_" + mapAttr.KeyOfEn + "' name='TB_" + mapAttr.KeyOfEn + "'  value='" + val + "' type=hidden />";
                            eleHtml += "<img src='" + baseUrl + "DataUser/Siganture/" + val + ".jpg' alt='" + val + "' style='border:0px;width:100px;height:30px;' id='Img" + mapAttr.KeyOfEn + "' />" + html;
                            return eleHtml;
                        }
                        if (mapAttr.KeyOfEn.toLowerCase() == "icon") {
                            var _html = "<div id='DIV_" + mapAttr.KeyOfEn + "' class='ccbpm-input-group'>";
                            _html += "<span class='layui-input-prefix'><i id='menuIconIcon' class='icon-settings'></i></span>"
                            _html += "<input class='" + ccsCtrl + " layui-input' style='text-align:left;width:calc(100% - 120px)!important;display:inline' type='text' maxlength=" + mapAttr.MaxLen + "  value='" + mapAttr.DefVal + "' name='TB_" + mapAttr.KeyOfEn + "' id='TB_" + mapAttr.KeyOfEn + "'placeholder='" + (mapAttr.Tip || '') + "' " + (mapAttr.UIIsEnable == 1 ? '' : ' disabled="disabled"') + "/>";
                            if (mapAttr.UIIsEnable == 1 && isReadonly != "1")
                                _html += "<span class='layui-input-suffix'><a id='menuIconButton' href='javascript:void(0)' class=''  onclick='openIconWindow(\"" + mapAttr.KeyOfEn + "\")'><i class='layui-icon'>&#xe615;</i></a></span>";
                            _html += "</div>";
                            return _html;

                        }
                        return "<div id='DIV_" + mapAttr.KeyOfEn + "' class='ccbpm-input-group'> <input class='" + ccsCtrl + " layui-input'  maxlength=" + mapAttr.MaxLen + "  value='" + mapAttr.DefVal + "' name='TB_" + mapAttr.KeyOfEn + "' id='TB_" + mapAttr.KeyOfEn + "'placeholder='" + (mapAttr.Tip || '') + "' type='text' " + (mapAttr.UIIsEnable == 1 ? '' : ' disabled="disabled"') + " /></div>";
                    case 2://整数
                        var _html = "<div id = 'DIV_" + mapAttr.KeyOfEn + "' class='ccbpm-input-group' >";
                        _html += "<input class='" + ccsCtrl + " layui-input'  value='0' style='text-align:right;padding-right:10px;'  onkeyup=" + '"' + "valitationAfter(this, 'int');if(isNaN(value) || (value%1 !== 0))execCommand('undo')" + '"' + " onafterpaste=" + '"' + "valitationAfter(this, 'int');if(isNaN(value) || (value%1 !== 0))execCommand('undo')" + '"' + " maxlength=" + mapAttr.MaxLen / 2 + "   type='text'" + enableAttr + " id='TB_" + mapAttr.KeyOfEn + "'placeholder='" + (mapAttr.Tip || '') + "'/>";
                        _html += "</div>";
                        return _html;
                    case 4:  //复选框
                        if (mapAttr.UIIsEnable == 0) {
                            enableAttr = "disabled='disabled'";
                        } else {
                            enableAttr = "";
                        }
                        return "<div style='line-height:38px;margin-top:10px;' id='DIV_" + mapAttr.KeyOfEn + "'><label for='CB_" + mapAttr.KeyOfEn + "' ></label><input type='checkbox' name='CB_" + mapAttr.KeyOfEn + "' id='CB_" + mapAttr.KeyOfEn + "'" + (mapAttr.DefVal == 1 ? "checked = 'checked'" : "") + enableAttr + " lay-filter='" + mapAttr.KeyOfEn + "' lay-skin='primary' value='1' title='" + mapAttr.Name + "'></div>";
                    case 3://浮点
                    case 5://双精度
                        var _html = "<div id = 'DIV_" + mapAttr.KeyOfEn + "' class='ccbpm-input-group' >";
                        var attrdefVal = mapAttr.DefVal;
                        var bit;
                        if (attrdefVal != null && attrdefVal !== "" && attrdefVal.indexOf(".") >= 0)
                            bit = attrdefVal.substring(attrdefVal.indexOf(".") + 1).length;
                        else
                            bit = 2;
                        _html += "<input class='" + ccsCtrl + " layui-input'  style='text-align:right;padding-right:10px;' value='0.00'  onkeyup=" + '"' + "valitationAfter(this, 'float');if(isNaN(value)) execCommand('undo');limitLength(this," + bit + ");" + '"' + " onafterpaste=" + '"' + " valitationAfter(this, 'float');if(isNaN(value))execCommand('undo')" + '"' + " maxlength=" + mapAttr.MaxLen / 2 + "   type='text' id='TB_" + mapAttr.KeyOfEn + "' placeholder='" + (mapAttr.Tip || '') + "'/>";
                        _html += "</div>";
                        return _html;
                    case 6://日期类型
                    case 7://时间类型
                        //生成中间的部分.
                        var enableAttr = '';
                        var frmDate = mapAttr.IsSupperText; //获取日期格式
                        var dateFmt = '';
                        var dateType = "";
                        if (frmDate == 0) {
                            dateFmt = "yyyy-MM-dd";
                            dateType = "date"
                        } else if (frmDate == 1) {
                            dateFmt = "yyyy-MM-dd HH:mm";
                            dateType = "datetime";
                        } else if (frmDate == 2) {
                            dateFmt = "yyyy-MM-dd HH:mm:ss";
                            dateType = "datetime";
                        } else if (frmDate == 3) {
                            dateFmt = "yyyy-MM";
                            dateType = "month";
                        } else if (frmDate == 4) {
                            dateFmt = "HH:mm";
                            dateType = "time";
                        } else if (frmDate == 5) {
                            dateFmt = "HH:mm:ss";
                            dateType = "time";
                        } else if (frmDate == 6) {
                            dateFmt = "MM-dd";
                            dateType = "date";
                        }
                        else if (frmDate == 7) {
                            dateFmt = "yyyy";
                            dateType = "year";
                        }
                        if (mapAttr.UIIsEnable == 0)
                            enableAttr = "disabled='disabled' ";



                        return "<div id='DIV_" + mapAttr.KeyOfEn + "' class='ccbpm-input-group'><i class='input-icon layui-icon layui-icon-date'></i> <input class='" + ccsCtrl + " ccdate layui-input'  data-info='" + dateFmt + "' data-type='" + dateType + "' maxlength=" + mapAttr.MaxLen + " value='" + mapAttr.DefVal + "'  type='text' " + enableAttr + " name='TB_" + mapAttr.KeyOfEn + "' id='TB_" + mapAttr.KeyOfEn + "'/></div>";
                    case 8://金额
                        //获取DefVal,根据默认的小数点位数来限制能输入的最多小数位数
                        var _html = "<div id = 'DIV_" + mapAttr.KeyOfEn + "' class='ccbpm-input-group' >";
                        var attrdefVal = mapAttr.DefVal;
                        var bit;
                        if (attrdefVal != null && attrdefVal !== "" && attrdefVal.indexOf(".") >= 0)
                            bit = attrdefVal.substring(attrdefVal.indexOf(".") + 1).length;
                        else
                            bit = 2;
                        _html += "<input class='" + ccsCtrl + " layui-input' style='text-align:right;padding-right:10px;' onkeyup=" + '"' + "valitationAfter(this, 'money');limitLength(this," + bit + "); FormatMoney(this, " + bit + ", ',',0)" + '"' + " onafterpaste=" + '"' + "valitationAfter(this, 'money');if(isNaN(value))execCommand('undo');" + '"' + " onblur=" + '"' + "FormatMoney(this, " + bit + ", ',',1)" + '"' + " maxlength=" + mapAttr.MaxLen / 2 + "   type='text' id='TB_" + mapAttr.KeyOfEn + "' value='0.00' placeholder='" + (mapAttr.Tip || '') + "'/>";
                        _html += "</div>";
                        return _html;
                    default:
                        layer.alert(mapAttr.Name + "的类型没有判断.");
                        break;
                }
            }
        }

        //填充默认数据
        function ConvertDefVal(attr) {
            var result = '';
            //通过MAINTABLE返回的参数
            for (var ele in frmData.MainTable[0]) {
                if (attr.KeyOfEn == ele && frmData.MainTable[0] != '') {
                    result = frmData.MainTable[0][ele];
                    break;
                }
            }

            return result = unescape(result);
        }

        //初始化下拉列表框的OPERATION
        function InitDDLOperation(flowData, mapAttr, defVal) {
            var operations = "";
            var data = flowData[mapAttr.KeyOfEn];
            if (data == undefined)
                data = flowData[mapAttr.UIBindKey];
            if (data == undefined) {
                //枚举类型的.
                if (mapAttr.LGType == 1) {
                    var enums = flowData.Sys_Enum;
                    enums = $.grep(enums, function (value) {
                        return value.EnumKey == mapAttr.UIBindKey;
                    });


                    $.each(enums, function (i, obj) {
                        operations += "<option " + (obj.IntKey == mapAttr.DefVal ? " selected='selected' " : "") + " value='" + obj.IntKey + "'>" + obj.Lab + "</option>";
                    });
                }
                return operations;
            }
            $.each(data, function (i, obj) {
                operations += "<option " + (obj.No == defVal ? " selected='selected' " : "") + " value='" + obj.No + "'>" + obj.Name + "</option>";
            });
            return operations;
        }

        function ChangeKeyOfEnText(obj, KeyOfEn) {
            if ($("#TB_" + KeyOfEn + "Text").length == 1)
                $("#TB_" + KeyOfEn + "Text").val($(obj).find("option:selected").text());
        }
        //新建.
        function New() {
            var enName = GetQueryString("EnName");
            var fromName = GetQueryString("FromName");
            //获取选中的tab选项卡
            var index = 0;
            if ($('#tabDiv').length == 1) {

                var tab = $('#tabDiv').tabs('getSelected');
                index = $('#tabDiv').tabs('getTabIndex', tab);
            }

            url = GetHrefUrl();
            url = url.replace("#", "");
            url = replaceParamVal(url, "tabIndex", index);
            url = replaceParamVal(url, "PKVal", "");

            //新增时En.htm页面隐藏
            if (window.parent && window.parent.$(".layui-side").length == 1 && isSameEnName == true) {
                parent.window.location.href = url.replace("EnOnly", "En"); //刷新.
                return;
            }
            window.location.href = url;


        }

        function Save() {
            debugger
            $("#Btn_Save").html('正在保存');
            this.Update(true);
            $("#Btn_Save").html('保存');
        }

        //更新.
        function Update(isRefresh) {
            var url = GetHrefUrl();
            var enName = GetQueryString("EnName");
            var en = new Entity(enName);

            //获取选中的tab选项卡
            var index = 0;
            if ($('#tabDiv').length == 1) {

                var tab = $('#tabDiv').tabs('getSelected');
                index = $('#tabDiv').tabs('getTabIndex', tab);
            }

            if (pkVal == null || pkVal == "") {

                en.CopyForm();
                if ($(".rich").length > 0) {
                    $(".rich").each(function (i, item) {
                        var edit = layui.tinymce.get('#' + item.id)
                        var val = edit.getContent();
                        var key = item.id.replace("TB_", "");
                        en[key] = val;
                    })
                }
                //有编号列.
                if (en.No != undefined) {

                    //获取当前主键字段是否可以编辑?
                    var val = $("#TB_No").prop("disabled");

                    //主键是可以别用户自定义的 zhangsan.
                    if (val == false) {
                        if (en.IsExits() == true) {
                            alert('编号为[' + en.No + ']的数据已经存在.');
                            return false;
                        }
                    }

                }

                //获取树形结构的表单值
                //var combotrees = $(".easyui-combotree");
                //$.each(combotrees, function (i, combotree) {
                //    var name = $(combotree).attr('id');
                //    var tree = $('#' + name).combotree('tree');
                //    //获取当前选中的节点
                //    var data = tree.tree('getSelected');
                //    if (data != null) {
                //        en[name] = data.id;
                //    }
                //});
                var refPK = GetQueryString("RefPK");
                if (refPK && refPK != "") {
                    en[refPK] = GetQueryString("RefPKVal");
                }
                var info = en.Insert();
                if (info.toString().indexOf("err@") != -1) {
                    return false;
                }

                //保存实体后文件上传
                var entityAthType = mapData.GetPara("BPEntityAthType")
                if (entityAthType == 1 || entityAthType == 2)
                    uploadFile(en.GetPKVal());


                url = url.replace("#", "");
                url = replaceParamVal(url, "PKVal", en.GetPKVal());
                url = replaceParamVal(url, "tabIndex", index);
                if (url.indexOf("&tabIndex") == -1)
                    url += "&tabIndex=" + index;

                if (url.indexOf('&PKVal=') == -1)
                    url += "&PKVal=" + en.GetPKVal();


                //新增保存后显示En
                if (window.parent && window.parent.$(".layui-side").length == 1 && isSameEnName == true && isRefresh == true) {
                    url = url.replace("EnOnly", "En");
                    parent.window.location.href = url; //刷新.
                    return;
                }
                if (isRefresh == true) {
                    SetHref(url); //刷新.
                    return;
                }

                if (pkVal == null) {
                    pkVal = mainData.OID;
                    if (pkVal == undefined || pkVal == "")
                        pkVal = mainData.No;

                    if (pkVal == undefined || pkVal == "")
                        pkVal = mainData.WorkID;

                    if (pkVal == undefined || pkVal == "")
                        pkVal = mainData.NodeID;

                    if (pkVal == undefined || pkVal == "")
                        pkVal = mainData.MyPK;
                    if (pkVal == "null" || pkVal == "" || pkVal == undefined)
                        pkVal = null;
                    InitToolbar();
                }
                return true;
            }

            en.pkval = pkVal;
            en.SetPKVal(pkVal);
            en.RetrieveFromDBSources();
            //en.SetPKVal(pkVal);

            en.CopyForm();
            if ($(".rich").length > 0) {
                $(".rich").each(function (i, item) {
                    var edit = layui.tinymce.get('#' + item.id)
                    var val = edit.getContent();
                    var key = item.id.replace("TB_", "");
                    en[key] = val;
                })
            }

            var refPK = GetQueryString("RefPK");
            if (refPK && refPK != "") {
                en[refPK] = GetQueryString("RefPKVal");
            }
            ////获取树形结构的表单值
            //var combotrees = $(".easyui-combotree");
            //$.each(combotrees, function (i, combotree) {
            //    var name = $(combotree).attr('id');
            //    var tree = $('#' + name).combotree('tree');
            //    //获取当前选中的节点
            //    var data = tree.tree('getSelected');
            //    if (data != null) {
            //        en[name] = data.id;
            //    }
            //});

            var info = en.Update();
            if (info == 0) {
                alert('更新错误:' + info);
                return false;
            }

            //保存实体后文件上传
            var entityAthType = mapData.GetPara("BPEntityAthType")
            if (entityAthType == 1 || entityAthType == 2)
                uploadFile(pkVal);

            url = url.replace("#", "");
            url = replaceParamVal(url, "tabIndex", index);

            if (url.indexOf("&tabIndex") == -1)
                url += "&tabIndex=" + index;


            if (window.parent && window.parent.$(".layui-side").length == 1 && isSameEnName == true && isRefresh == true) {
                url = url.replace("EnOnly", "En");
                parent.window.location.href = url;
                return;
            }

            if (isRefresh == true)
                window.location.href = url; //刷新.
            return true;
        }



        function changeFile() {
            var pkval = GetPKVal();
            if (pkval == null || pkval == "") {
                return;
            }
            uploadFile(pkval);

        }

        //单文件上传
        function uploadFile(pkval) {

            var handler = new HttpHandler("BP.WF.HttpHandler.WF_CommEntity");
            handler.AddFileData();
            handler.AddPara("EnName", GetQueryString("EnName"));
            handler.AddPara("PKVal", pkval);
            var data = handler.DoMethodReturnString("EntityAth_Upload");
            if (data.indexOf("err@") != -1) {
                alert(data);
                return;
            }
            alert("上传成功");
        }

        function Delete() {

            if (window.confirm('您确定要删除吗？') == false)
                return;

            var enName = GetQueryString("EnName");
            var en = new Entity(enName, GetPKVal());

            //删除相关的设置
            var mapExts = new Entities("BP.Sys.MapExts");
            mapExts.Retrieve("FK_MapData", en.FK_MapData, "AttrOfOper", en.KeyOfEn);
            if (mapExts) {
                for (var index = 0; index < mapExts.length; index++) {
                    var mapExt = new Entity("BP.Sys.MapExt", mapExts[index].MyPK);
                    mapExt.Delete();
                }
            }
            en = new Entity(enName, GetPKVal());
            var rs = en.Delete();
            if (rs != null && rs != undefined && rs != '' && rs.indexOf("err@") == -1) {
                $("#Btns").html("");
                $("#Left").html("");
                $("#CCFormTabs").html("删除成功..");

                alert("删除成功.");
            }
            window.close();
            CloseIt();
        }

        function CloseIt() {
            if (window.parent && window.parent.$(".layui-side").length == 1) {
                if (isSameEnName == true) {
                    //En页面的基础信息删除时关闭页面
                    if (typeof window.parent.parent.layer != undefined) {
                        window.parent.parent.layer.close(window.parent.parent.layer.index);
                        return;
                    }
                }
                return;
            }
            //打开的时EnOnly页面
            if (typeof window.parent.layer != undefined) {
                window.parent.layer.close(window.parent.layer.index);
                return;
            }
            if (parent.parent != undefined && parent.parent.$("#eudlg").length == 1)
                parent.parent.$("#eudlg").dialog('close');
        }

        $(function () {
            var Accordion = function (el, multiple) {
                this.el = el || {};
                this.multiple = multiple || false;

                var links = this.el.find('.link');
                links.on('click', { el: this.el, multiple: this.multiple }, this.dropdown)
            }

            Accordion.prototype.dropdown = function (e) {
                var $el = e.data.el;
                $this = $(this),
                    $next = $this.next();

                $next.slideToggle();
                $this.parent().toggleClass('open');

                if (!e.data.multiple) {
                    $el.find('.submenu').not($next).slideUp().parent().removeClass('open');
                };
            }

            var accordion = new Accordion($('#accordion'), false);

        });

        var IconKeyOfEn = "";
        function openIconWindow(keyOfEn) {
            IconKeyOfEn = keyOfEn;
            var width = $(document).width() - 120;
            OpenLayuiDialog("IconSelect.htm", "选择图标", width, 80, "auto", false);
        }

        function changeICon(icon) {
            //获取ICon的值
            var oldICon = $("#TB_" + IconKeyOfEn).val();
            $("#menuIconIcon").attr("class", icon);
            $("#TB_" + IconKeyOfEn).val(icon);
            layer.close(layer.index);

        }

        function executeFunction(type) {
            //执行方法前先保存
            var flag = Update(false);
            if (flag == false)
                return;
            var label = "";
            var funcStr = "";
            if (type == 1) {
                label = cfg.EnBtnLab1;
                funcStr = cfg.EnBtnJS1;
            }

            if (type == 2) {
                label = cfg.EnBtnLab2;
                funcStr = cfg.EnBtnJS2;
            }
            funcStr = funcStr.replace(/~/g, "'");
            if (funcStr.indexOf("/") != -1) {
                var W = document.body.clientWidth - 40;
                OpenLayuiDialog(funcStr, label, W, 100, "r", false);
            } else {
                if (funcStr.indexOf('(') == -1)
                    cceval(funcStr + "()");
                else
                    cceval(funcStr);
            }
        }
    </script>

</head>

<body>
    <form class="layui-form" enctype="multipart/form-data" method="post" autocomplete=off>
        <div id="Btns" style="text-align:right;margin-right:15px">
            <button id="Btn_New" type="button" class="layui-btn layui-btn-primary layui-border-green layui-btn-sm" onclick="New()" style="display:none">
                <i class="iconfont icon-xinjian"></i> 新建
            </button>
            <button id="Btn_Save" type="button" class="layui-btn layui-btn-primary layui-border-green layui-btn-sm" onclick="Save()" style="display:none">
                <i class="iconfont icon-Save"></i> 保存
            </button>

            <button id="Btn_Delete" type="button" class="layui-btn layui-btn-primary layui-border-green layui-btn-sm" onclick="Delete()" style="display:none">
                <i class="iconfont icon-shanchu1"></i>  删除
            </button>

            <button id="Btn_Setting" type="button" class="layui-btn layui-btn-primary layui-border-green layui-btn-sm" onclick="Setting()" style="display:none">
                <i class="iconfont icon-jurassic_setup-batch"></i>  设置
            </button>
        </div>

        <div class="layui-tab layui-tab-brief" id="CCFormTabs">

        </div>
    </form>

</body>
</html>
